home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
AGSWAK__.ZIP
/
AGSWAK!!.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-05-18
|
10KB
|
717 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
DWord DWORD001
DWord DWORD002
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Real REAL001
Real REAL002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
Time TIME001
Time TIME002
Int INT001
Int INT002
Int INT003
Int INT004
;------------------------------------------------------------------------------
STRING009 = PPEPath() + "music\music.lst"
STRING006 = ReadLine(PPEPath() + "agswak!!.cfg", 3)
BOOLEAN003 = ToBoolean(ReadLine(PPEPath() + "agswak!!.cfg", 11))
If (ReadLine(PPEPath() + "agswak!!.cfg", 1) == "RANDOM") Then
INTEGER002 = FileInf(STRING009, 4) / 14
STRING008 = Trim(PPEPath() + "MUSIC\" + ReadLine(STRING009, Random(INTEGER002 - 1) + 1), " ")
Else
STRING008 = Trim(PPEPath() + "MUSIC\" + ReadLine(PPEPath() + "agswak!!.cfg", 1), " ")
Endif
If (ReadLine(PPEPath() + "agswak!!.cfg", 2) == "RANDOM") Then
INTEGER002 = FileInf(STRING009, 4) / 14
STRING012 = Trim(PPEPath() + "MUSIC\" + ReadLine(STRING009, Random(INTEGER002 - 1) + 1), " ")
Else
STRING012 = Trim(PPEPath() + "MUSIC\" + ReadLine(PPEPath() + "agswak!!.cfg", 2), " ")
Endif
If (Exist(STRING008)) Goto LABEL001
PrintLn "@X04Error ! Music file " + STRING008 + " does not exist, notify sysop!"
End
:LABEL001
If (Exist(STRING012)) Goto LABEL002
PrintLn "@X04Error ! Music file " + STRING012 + " does not exist, notify sysop!"
End
:LABEL002
Cls
StartDisp 1
DispFile PPEPath() + "agswak!!", 1 + 4
AnsiPos 3, 6
BOOLEAN002 = 0
INTEGER005 = 73
Gosub LABEL027
Gosub LABEL033
If (STRING005 == "") Goto LABEL021
STRING013 = STRING005
Cls
AnsiPos 56, 6
PrintLn "@X0E .-~~~~-."
AnsiPos 56, 7
PrintLn "@X0E { @X0Fo@X0E }"
AnsiPos 56, 8
PrintLn "@X0E / /"
AnsiPos 56, 9
PrintLn "@X0E`--r' { ,___.-',"
AnsiPos 56, 10
PrintLn "@X0E / `-~ ',"
AnsiPos 56, 11
PrintLn "@X0E { '"
AnsiPos 56, 12
PrintLn "@X0E \ /"
AnsiPos 56, 13
PrintLn "@X0E \ /"
AnsiPos 56, 14
PrintLn "@X09 ~ ~~~~~~~~~~~~~~~~~ ~"
AnsiPos 1, 13
Print "@X0F @X0E_()@X06<"
AnsiPos 1, 14
Print "@X09 _ __@X0E(__)"
AnsiPos 40 - Len(STRING013) / 2, 16
SPrint "
" + STRING013
AnsiPos 26, 18
SPrint "
[SPACE]:Chat - [ESC]:Abort"
Gosub LABEL033
While (GetToken() <> "") Do
EndWhile
STRING001 = ReadLine(PPEPath() + "agswak!!.cfg", 4 + Dow(Date()))
Tokenize STRING001
While (TokCount() > 0) Do
STRING004 = GetToken()
TIME001 = ToTime(Left(STRING004, 5))
TIME002 = ToTime(Right(STRING004, 5))
If ((Time() > TIME001) && (Time() < TIME002)) Goto LABEL003
EndWhile
Goto LABEL023
:LABEL003
FOpen 1, STRING008, 0, 0
While (1) Do
STRING007 = MInkey()
If (STRING007 == Chr(27)) Goto LABEL021
STRING007 = KInkey()
If (STRING007 == Chr(27)) Break
If (STRING007 == " ") Then
FClose 1
Sound 0
Chat
PageOff
End
Endif
If (PeekDW(MkAddr(64, 108)) > DWORD002 + 2) Then
DWORD002 = PeekDW(MkAddr(64, 108))
If ((INTEGER004 == 5) || (INTEGER004 == 7)) Then
AnsiPos 1 + REAL001, 13
Print "@X0F @X0E__()@X06< @X0FWAK!!"
Inc INTEGER004
Goto LABEL005
Endif
If ((INTEGER004 == 6) || (INTEGER004 == 8)) Then
AnsiPos 1 + REAL001, 13
Print "@X0F @X0E_()@X06< "
Inc INTEGER004
If (INTEGER004 == 9) INTEGER004 = 0
Goto LABEL005
Endif
If (BOOLEAN001 == 1) Then
BOOLEAN001 = 0
Goto LABEL004
Endif
BOOLEAN001 = 1
:LABEL004
If (BOOLEAN001) Then
AnsiPos 1 + REAL001, 13
Print "@X0F @X0E_()@X06<"
Inc REAL001
If (REAL001 < 41) Inc INTEGER004
Goto LABEL005
Endif
AnsiPos 1 + REAL001, 14
Print "@X09 _ __@X0E(__)"
AnsiPos 1 + REAL001 + 6, 13
Print " "
:LABEL005
Gosub LABEL033
Endif
If (REAL001 > 51) Goto LABEL023
If (PeekDW(MkAddr(64, 108)) > DWORD001 + INTEGER001 / (100 / 18.2)) Then
:LABEL006
Gosub LABEL007
If (INTEGER003 == -1) Then
FClose 1
FOpen 1, STRING008, 0, 0
Goto LABEL006
Endif
Sound 0
Sound INTEGER003
DWORD001 = PeekDW(MkAddr(64, 108))
Endif
EndWhile
Goto LABEL023
End
:LABEL007
FGet 1, STRING001
If (STRING001 == "") Then
INTEGER003 = -1
Return
Endif
Select Case (Left(STRING001, 5))
Case "TONE "
STRING001 = Mid(STRING001, 6, Len(STRING001) - 5)
INTEGER003 = S2I(Left(STRING001, InStr(STRING001, " ") - 1), 10)
INTEGER001 = S2I(Mid(STRING001, InStr(STRING001, " ") + 1, Len(STRING001) - InStr(STRING001, " ")), 10)
Return
Case "WAIT "
INTEGER001 = S2I(Mid(STRING001, 6, Len(STRING001) - 5), 10)
INTEGER003 = 0
Return
Case Else
Goto LABEL007
End Select
:LABEL008
Cls
DispFile PPEPath() + "emergenc", 0 + 4
AnsiPos 50, 18
SPrint "
[SPACE]:Chat - [ESC]:Abort"
Gosub LABEL033
INT001 = 5
INT002 = 2
REAL001 = 0
BOOLEAN001 = 0
Gosub LABEL015
FOpen 1, STRING012, 0, 0
BOOLEAN001 = 1
While (1) Do
STRING007 = MInkey()
If (STRING007 == Chr(27)) Break
STRING007 = KInkey()
If (STRING007 == Chr(27)) Break
If (STRING007 == " ") Then
FClose 1
Sound 0
PageOff
Chat
End
Endif
If (PeekDW(MkAddr(64, 108)) > DWORD002 + 4) Then
DWORD002 = PeekDW(MkAddr(64, 108))
If (BOOLEAN001 == 1) Then
BOOLEAN001 = 0
Goto LABEL009
Endif
BOOLEAN001 = 1
:LABEL009
If (BOOLEAN001) Then
INT001 = 5 + REAL001
INT002 = 2 + INT003
Gosub LABEL015
If (INT003 == 0) Then
Inc REAL001
Goto LABEL010
Endif
REAL002 = 2
REAL002 = REAL002 / INT003
REAL001 = REAL001 + REAL002
:LABEL010
Goto LABEL011
Endif
Gosub LABEL017
INT001 = 5 + REAL001
INT002 = 2 + INT003
Gosub LABEL015
:LABEL011
If ((REAL001 > 15) && BOOLEAN001) Then
Inc INT003
AnsiPos 45, 15
If (21 - INT003 <> 0) Print "@X0F" + String(21 - INT003)
If (21 - INT003 == 0) Then
Print "SPLOOOOTCH!! "
Goto LABEL012
Endif
If (21 - INT003 == 1) Then
Print "ST FLOOR!$!#!{%#@! "
Goto LABEL012
Endif
If (21 - INT003 == 2) Then
Print "ND FLOOR!#!#! "
Goto LABEL012
Endif
If (21 - INT003 == 3) Then
Print "rd floor!#!! "
Goto LABEL012
Endif
If ((((((21 - INT003 == 4) || (21 - INT003 == 5)) || (21 - INT003 == 6)) || (21 - INT003 == 7)) || (21 - INT003 == 8)) || (21 - INT003 == 9)) Then
Print "th floor!!! "
Goto LABEL012
Endif
If ((((21 - INT003 == 10) || (21 - INT003 == 11)) || (21 - INT003 == 12)) || (21 - INT003 == 13)) Then
Print "th floor!! "
Goto LABEL012
Endif
If (((((21 - INT003 == 14) || (21 - INT003 == 15)) || (21 - INT003 == 16)) || (21 - INT003 == 17)) || (21 - INT003 == 18)) Then
Print "th floor! "
Goto LABEL012
Endif
If ((21 - INT003 == 19) || (21 - INT003 == 20)) Then
Print "th floor... "
Endif
Endif
:LABEL012
If (INT003 == 21) Goto LABEL014
Gosub LABEL033
Endif
If (PeekDW(MkAddr(64, 108)) > DWORD001 + INTEGER001 / (100 / 18.2)) Then
:LABEL013
Gosub LABEL007
If (INTEGER003 == -1) Then
FClose 1
FOpen 1, STRING008, 0, 0
Goto LABEL013
Endif
Sound 0
Sound INTEGER003
DWORD001 = PeekDW(MkAddr(64, 108))
Endif
EndWhile
Goto LABEL014
End
:LABEL014
FClose 1
Sound 0
If (INT003 == 21) Then
AnsiPos INT001 - 3, INT002 - 3
Print " @X04.@X0C▄·"
AnsiPos INT001 - 3, INT002 - 2
Print " @X04. ·@X0C▀ ■."
AnsiPos INT001 - 3, INT002 - 1
Print "@X0C· ■@X04░▀░·@X0C.░▒"
AnsiPos INT001 - 3, INT002
Print "@X0C ░▄@X04▌■@X0C▌@X04▒@X0C▌▒ ░"
AnsiPos INT001 - 3, INT002 + 1
Print "@X0C· · @X04█@X0C▒ ·"
STRING001 = "SPLOOOOTCH!!"
AnsiPos 45, 15
For INTEGER002 = 1 To 4
Color 15
Print STRING001
Delay 2
Backup Len(STRING001)
Color 7
Print STRING001
Delay 2
Backup Len(STRING001)
Color 8
Print STRING001
Delay 2
Backup Len(STRING001)
Color 7
Print STRING001
Delay 2
Backup Len(STRING001)
Next
Color 15
Print STRING001
Delay 2
Backup Len(STRING001)
Endif
Goto LABEL018
End
:LABEL015
If (BOOLEAN001) Goto LABEL016
STRING010 = ScrText(INT001 + 1, INT002 - 1, 5, 1)
STRING011 = ScrText(INT001, INT002, 4, 1)
:LABEL016
AnsiPos INT001 + 1, INT002 - 1
If (BOOLEAN001) Then
Print "@X0E__()@X06<"
Else
Print "@X0E_()@X06<"
Endif
AnsiPos INT001, INT002
Print "@X0E(__)"
Return
:LABEL017
AnsiPos INT001 + 1, INT002 - 1
Print STRING010
AnsiPos INT001, INT002
Print STRING011
Return
:LABEL018
PageOn
FClose 1
Sound 0
If (BOOLEAN003) Then
FCreate 1, PPEPath() + "work.txt", 1, 0
FPutLn 1, Trim(U_Name(), " ") + " paged you outside hours."
FPutLn 1, "Reason was : " + STRING013
FClose 1
Message 0, "SYSOP", "AGS WAK 1.o", "PAGE", "N", 0, "N", 0, PPEPath() + "work.txt"
Delete PPEPath() + "work.txt"
Endif
AnsiPos 1, 20
PrintLn "@X06mm"
AnsiPos 8, 20
Print "mm"
Delay 2
INT004 = 2
AnsiPos 1, 20
PrintLn "@X06mm @X0FO O @X06mm"
Delay 2
AnsiPos 4, 19
PrintLn "@X0FO O"
AnsiPos 1, 20
PrintLn "@X06mm @X0F| @X06mm"
Delay 2
AnsiPos 4, 18
PrintLn "@X0FO O"
AnsiPos 4, 19
PrintLn "@X0F | "
AnsiPos 1, 20
PrintLn "@X06mm @X0F\_/ @X06mm"
Delay 2
AnsiPos 4, 17
PrintLn "@X0FO O"
AnsiPos 4, 18
PrintLn "@X0F | "
AnsiPos 4, 19
PrintLn "@X0F\_/"
AnsiPos 1, 20
PrintLn "@X06mm mm"
Delay 2
AnsiPos 8, 19
Print "@X0E<@X0F SoRRY, THe SySoP iS NoT HeRE... MaY i LeT HiM A MeSSaGE ? YeS/No"
Gosub LABEL022
While (1) Do
STRING007 = Upper(Inkey())
If ((STRING007 == "LEFT") || (STRING007 == "RIGHT")) Then
If (INT004 == 1) Then
INT004 = 2
Goto LABEL019
Endif
INT004 = 1
:LABEL019
Gosub LABEL022
Endif
If (STRING007 == Chr(13)) Then
If (INT004 == 1) Then
STRING007 = "Y"
Goto LABEL020
Endif
STRING007 = "N"
Endif
:LABEL020
If (STRING007 == "Y") Then
INT004 = 1
Gosub LABEL022
KbdStuff "C" + Chr(13)
AnsiPos 1, 23
PrintLn
End
Endif
If (STRING007 == "N") Then
INT004 = 2
Gosub LABEL022
:LABEL021
AnsiPos 1, 23
PrintLn
End
Endif
EndWhile
:LABEL022
If (INT004 == 1) Then
Backup 6
Print "@X1FYeS@X0F/No"
Else
Backup 6
Print "@X0FYeS/@X1FNo"
Endif
Return
:LABEL023
FClose 1
Sound 0
AnsiPos 1, 20
PrintLn "@X06mm mm"
Delay 2
AnsiPos 1, 20
PrintLn "@X06mm @X0FO O @X06mm"
Delay 2
AnsiPos 1, 19
PrintLn "@X0F O O "
PrintLn "@X06mm @X0F| @X06mm"
Delay 2
AnsiPos 1, 18
PrintLn "@X0F O O "
PrintLn "@X0F | "
PrintLn "@X06mm @X0F\_/ @X06mm"
Delay 2
AnsiPos 1, 17
PrintLn "@X0F O O "
PrintLn "@X0F | "
PrintLn "@X0F \_/ "
PrintLn "@X06mm mm"
Delay 2
AnsiPos 8, 19
Print "@X0E<@X0F SYSoP iS uNaVaiLaBLe... iS THiS aN eMeRGeNCY ? YeS/No"
Gosub LABEL022
INT004 = 2
While (1) Do
STRING007 = Upper(Inkey())
If ((STRING007 == "LEFT") || (STRING007 == "RIGHT")) Then
If (INT004 == 1) Then
INT004 = 2
Goto LABEL024
Endif
INT004 = 1
:LABEL024
Gosub LABEL022
Endif
If (STRING007 == Chr(13)) Then
If (INT004 == 1) Then
STRING007 = "Y"
Goto LABEL025
Endif
STRING007 = "N"
Endif
:LABEL025
If (STRING007 == "Y") Then
INT004 = 1
Gosub LABEL022
Delay 2
AnsiPos 6, 17
Print "@X0Fô"
Delay 2
AnsiPos 6, 17
Print "@X0FO"
Delay 2
AnsiPos 6, 17
Print "@X0Fô"
AnsiPos 8, 19
ClrEol
Print "@X0E<@X0F So WHaT iS THe PaSSWoRD, MaN ? "
STRING005 = ""
BOOLEAN002 = 1
INTEGER005 = 20
Gosub LABEL027
If (Upper(STRING006) <> Upper(STRING005)) Then
AnsiPos 40, 19
ClrEol
Print "WRoNG!"
Delay 2
End
Goto LABEL026
Endif
AnsiPos 40, 19
ClrEol
Print "RiGHT!"
Delay 2
Goto LABEL008
Endif
:LABEL026
If (STRING007 == "N") Then
INT004 = 2
Gosub LABEL022
Delay 2
End
Endif
EndWhile
:LABEL027
STRING007 = Inkey()
If (Len(STRING007) > 1) Goto LABEL027
If (STRING007 <> "") Then
If (STRING007 == Chr(13)) Goto LABEL032
If (Asc(STRING007) > 31) Then
If (Len(STRING005) > INTEGER005) Goto LABEL027
STRING007 = Upper(STRING007)
If (STRING007 == "A") STRING007 = "a"
If (STRING007 == "E") STRING007 = "e"
If (STRING007 == "I") STRING007 = "i"
If (STRING007 == "O") STRING007 = "o"
If (STRING007 == "U") STRING007 = "u"
STRING002 = Right(STRING005, 1)
STRING003 = Left(Right(STRING005, 2), 1)
If ((STRING002 <> "") && (STRING002 <> " ")) Then
If ((STRING003 <> "") && (STRING003 <> " ")) Then
Print "@X0F"
Goto LABEL028
Endif
Print "@X0E"
:LABEL028
Goto LABEL029
Endif
Print "@X06"
:LABEL029
If (BOOLEAN002) Then
Print "."
Goto LABEL030
Endif
Print STRING007
:LABEL030
STRING005 = STRING005 + STRING007
Endif
If ((Asc(STRING007) == 8) && (Len(STRING005) > 0)) Then
Backup 1
If (BOOLEAN002) Then
Print "@X0F "
Goto LABEL031
Endif
Print "@X08·"
:LABEL031
Backup 1
STRING005 = Left(STRING005, Len(STRING005) - 1)
Endif
Endif
Goto LABEL027
:LABEL032
Return
:LABEL033
AnsiPos 1, 23
Color 0
Print " "
Backup 1
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 11 End
; 3 Cls
; 3 ClrEol
; 6 Color
; 120 Goto
; 82 Let
; 50 Print
; 35 PrintLn
; 82 If
; 2 DispFile
; 1 FCreate
; 4 FOpen
; 8 FClose
; 1 FGet
; 2 FPutLn
; 1 StartDisp
; 1 Delete
; 21 Gosub
; 8 Return
; 21 Delay
; 6 Inc
; 1 Tokenize
; 1 KbdStuff
; 59 AnsiPos
; 10 Backup
; 1 Message
; 9 Sound
; 2 Chat
; 3 SPrint
; 1 PageOn
; 2 PageOff
;
;
; ■ Functions used :
;
; 3 -
; 8 /
; 57 +
; 42 -
; 67 ==
; 8 <>
; 3 <
; 1 <=
; 12 >
; 2 >=
; 63 !
; 7 &&
; 18 ||
; 13 Len(
; 5 Upper()
; 3 Mid()
; 6 Left()
; 3 Right()
; 8 Chr()
; 2 Asc()
; 3 InStr()
; 5 Trim()
; 2 Random()
; 1 Date()
; 2 Time()
; 1 U_Name()
; 1 Dow()
; 3 Inkey()
; 1 String()
; 17 PPEPath()
; 9 ReadLine()
; 2 GetToken()
; 8 MkAddr()
; 2 Exist()
; 3 S2I()
; 2 FileInf()
; 2 KInkey()
; 2 MInkey()
; 1 TokCount()
; 8 PeekDW()
; 2 ScrText()
; 1 ToBoolean()
; 2 ToTime()
;
;------------------------------------------------------------------------------
;
; Analysis flags : p
;
; p - Peek in memory ■ 2
; Since a peek statement allows someone to read entire memory contents
; you may check this statement, however, this is usually not a risk
; ■ Search for : PEEK, PEEKW, PEEKDW
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 6 While/EndWhile
; 51 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------